1. Technical Field
The present invention relates to a robot apparatus and a method for controlling the robot apparatus, and can be applied to, for example, a legged mobile robot. The present invention makes it possible to precisely express an observation object by calculating the movement amount between a portion of the robot apparatus that had been in contact with a floor up to now and a next portion of the robot apparatus in contact with the floor using kinematics and by switching transformation to a coordinate system serving as an observation reference as a result of the switching between the floor contact portions. In addition, the present invention makes it possible to precisely express an observation object by applying such operations to the movement amount of a separately detected reference coordinate system.
2. Background Art
Hitherto, a walking intelligent robot which moves autonomously by perceiving an obstacle has been proposed as in, for example, Japanese Unexamined Patent Application Publication No. 2000-317868. In such a robot, as shown in FIG. 1, an obstacle, or the like, detected with reference to a sensor mounting position P1 is processed by a robot center coordinate system (whose origin is represented by P2 in FIG. 2) serving as a robot processing reference. Therefore, in this type of robot, an observation result is expressed using a change in orientation of the robot from the robot central coordinate system to a sensor.
In such a robot, when the origin P2 of the robot center coordinate system moves as a result of walking of the robot as indicated by an arrow a, a coordinate of the observation result based on the robot center coordinate system is corrected by the movement amount, and the movement amount is determined from a pace of the robot by each movement command.
As shown in FIG. 2, such a robot walking with two legs is also proposed. In such a robot also, an observation object detected by a sensor is expressed by a robot center coordinate system whose origin is P2.
Such walking of a robot is executed by separately issuing a command to a corresponding module. In contrast, the actual movement of the robot is continuously executed. Therefore, an observation result expressed by the robot central coordinate system includes an error caused by the pace. In addition, there is a difference between the command issue time and the actual movement time. Therefore, related robots do not precisely express the observation result detected by a sensor.
Such error is not particularly a problem in, for example, a robot which selects a movement on the basis of a new observation, in which an observation result is directly connected to the movement as in subsumption architecture. However, when observation results obtained at various times are processed by combining them, for example, the robot may fail to avoid an obstacle. As a result, in this case, the error becomes a serious problem. In particular, as shown by changes in orientation by swing walking of a robot in FIGS. 3(A) to 3(C), when the robot swings through an angle of 60 degrees in taking one step from the time the right leg floats and to the time it lands on the floor, an observation result during the swinging (which is the observation result indicated by a time t2) becomes indeterminate. When observation results are processed by combining them, this may become a serious problem. FIG. 3 shows the result of combining observation results by a world coordinate system (indicated by W). The observation results at a movement start time t1 and a movement completion time t3 can be determined as those of the same object by the rotational angle, whereas the observation result between these times cannot be easily determined as that of the same object.